Array.prototype.insertSort = function(){
  let len = this.length
  // 插入排序从下标为1的位置开始排序 因为默认第一个已经排好序了
  for(let i = 1;i < len;i++){
    // 记录选择的元素 放入 temp中
    let j = i
    let temp = this[i]
    // 内存循环 不确定循环的次数 使用while循环
    while(j > 0 && this[j-1] > temp){ // 当这个下标大于等于1的时候 并且这个的前面的值 比 当前的值大的时候 就让前后相互交换
      this[j] = this[j-1] // 后面的位置 是 前面的位置 等同于将前面的位置 向后移动一位
      j-- // j减1
    }
    // 退出循环 表示前面的一个元素小于记录的元素 或者已经判断到 下标为0的位置
    // 就把这个j的位置放入记录的元素
    this[j] = temp
  }
}
let arr = [1,5,2,6,8,33,42,4,1,89,56,74]
arr.insertSort()
console.log(arr);